
/*

        GESTOR DE LA ENTIDAD ALUMNO

*/
package controlador;

//Imports
import java.sql.ResultSet;
import modelo.Alumno;


public class GestorAlumno extends GestorGeneral  {

    //Atributos
    private Alumno alumno;      //Asociado a la entidad
    private String ret = "-1";  //Retorno de funciones por defecto

    //Constructores
    public GestorAlumno() {
          alumno = new Alumno();
    }

    //Getters && Setters
    public Alumno getAlumno() {
        return alumno;
    }
    public void setAlumno(Alumno alumno) {
        this.alumno = alumno;
    }

    // Especificadores de alumno
    public void cargarAlumno(String personasId, String nombre, String apellido, String dni, String domicilio, String clave, String carrera){
        setAlumno(new Alumno(personasId, nombre, apellido, dni, domicilio, clave, carrera));
    }
    public void cargarAlumno(String nombre, String apellido, String dni, String domicilio, String clave, String carrera){
        setAlumno(new Alumno(nombre, apellido, dni, domicilio, clave, carrera));
    }
    public void cargarAlumno(String legajo, String clave){
        setAlumno(new Alumno(legajo, clave));
    }
    public void cargarAlumno(String personasId){
        setAlumno(new Alumno(personasId));
    }

    // Métodos con lógica específica
    public String logear(){
        try {
            ResultSet rs = devolverResultSet(new String[] {alumno.getLegajo(),alumno.getClave()}, login);
            while (rs.next()) {
                ret = rs.getString("personasid");
            }
        } catch (Exception e) {
            e.printStackTrace();
            ret="-1";
        } finally {
            return ret;
        }
        
    }
    public String devolverAlumno(){
        try {
            ResultSet rs = devolverResultSet(new String[] {String.valueOf(alumno.getPersonasId())}, devuelveAlumno);
            while (rs.next()) {
                ret = rs.getString("legajo")+"|"+rs.getString("nombre")+"|"+rs.getString("apellido")+"|"+rs.getString("dni")+"|"+rs.getString("domicilio")+"|"+rs.getString("clave")+"|"+rs.getString("carrera")+"|";
            }
        } catch (Exception e) {
            e.printStackTrace();
            ret="-1";
        } finally {
            return ret;
        }
    }
    public String devolverAlumnos(){
        return null;
    }
    public String altaModAlumno(){
        try {
            ResultSet rs;
            if (alumno.getPersonasId().equals("-1")){
                
                ejecutarSentencia(new String[] {alumno.getNombre(), alumno.getApellido(), alumno.getDni(), alumno.getDomicilio()}, nuevaPersona);

                rs=devolverResultSet(maxIdPersona);
                String personasId = "-1";
                while (rs.next()) {
                    personasId = rs.getString("personasid");
                }

                rs=devolverResultSet(maxLegajo);
                String nuevoLegajo = "-1";
                while (rs.next()) {
                    nuevoLegajo = String.valueOf(rs.getLong("legajo") + 1);
                }

                ejecutarSentencia(new String[] {personasId, nuevoLegajo, alumno.getClave(), alumno.getCarrera()}, nuevoAlumno);

            } else {

                ejecutarSentencia(new String[] {alumno.getNombre(), alumno.getApellido(), alumno.getDni(), alumno.getDomicilio(), alumno.getPersonasId()}, modificarPersona);
                ejecutarSentencia(new String[] {alumno.getClave(), alumno.getCarrera(), alumno.getPersonasId()}, modificarAlumno);

            }
            ret = "1";

        } catch (Exception e) {
            e.printStackTrace();
            ret = "-1";
        } finally {
            return ret;
        }
    }
    public boolean eliminarAlumno(){
        return false;
    }


    
}
